package com.xcm.service;

import com.xcm.exception.ServiceException;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;

/**
 * 文件Service
 */
public interface FileService {
	/**
	 * 保存文件
	 * @param file  MultipartFile
	 * @throws IOException
	 */
	Map<Object, Object> saveApkFile(MultipartFile file) throws IOException;

	/**
	 * 下载本地文件
	 * @param fileName  文件名
	 * @param fileSavePath  文件保存路径
	 * @param response  HttpServletResponse
	 */
	void downloadLocalFile(String fileName, String fileSavePath, HttpServletResponse response) throws ServiceException, IOException;

	/**
	 * 保存固件文件名
	 * @param files
	 * @return
	 */
    Map<Object,Object> saveFirmwareFile(MultipartFile files) throws IOException;

	/**
	 * 上传文件到华为云（无文件格式限制）
	 * @param files 文件
	 * @return
	 * @throws IOException
	 */
	Map<Object,Object> saveNoLimitFile(MultipartFile files) throws IOException;

	/**
	 * 上传文件到华为云（无文件格式限制）
	 * @param files 文件
	 * @param quality 压缩质量
	 * @return
	 * @throws IOException
	 */
	Map<Object,Object> saveNoLimitFileWithCompress(MultipartFile files, Double quality) throws IOException;


}
